home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Source.bin / GeneralUtils.java < prev    next >
Text File  |  1998-08-21  |  4KB  |  121 lines

  1. package symantec.itools.util;
  2.  
  3. import java.lang.IllegalArgumentException;
  4. import java.util.ResourceBundle;
  5. import java.text.MessageFormat;
  6.  
  7. //???RKM??? I would have called this Util.java, but for the bug in the project manager
  8.  
  9. //     06/11/97    LAB    Added frameTarget_* varaibles for convenience in classes
  10. //                    which need reference to these strings.
  11. //     07/08/97    LAB    Added checkValidPercent() function
  12. //                    Changed GeneralUtils to a "final" class so JIT can inline it.
  13. //     10/09/97    LAB    Added Added removeCharAtIndex(String string, int index) function.
  14.  
  15. // Written by Levi Brown and Rod Magnuson 1.1, July 8, 1997.
  16.  
  17. /**
  18.  * Useful utility functions and constants.
  19.  * @version 1.1, July 8, 1997
  20.  * @author  Symantec
  21.  */
  22. public final class GeneralUtils
  23. {
  24.     /**
  25.      * Do not use, all-static class.
  26.      */
  27.     public GeneralUtils() {
  28.     }
  29.  
  30.     /**
  31.      * A constant indicating a document should be shown in the current frame.
  32.      * It is the second parameter for the method:
  33.      * java.applet.AppletContext.showDocument(URL, String).
  34.      * It is provided here for general use.
  35.      * @see java.applet.AppletContext#showDocument(java.net.URL, java.lang.String)
  36.      */
  37.      public static String frameTarget_self = "_self";
  38.     /**
  39.      * A constant indicating a document should be shown in the parent frame.
  40.      * It is the second parameter for the method:
  41.      * java.applet.AppletContext.showDocument(URL, String).
  42.      * It is provided here for general use.
  43.      * @see java.applet.AppletContext#showDocument(java.net.URL, java.lang.String)
  44.      */
  45.      public static String frameTarget_parent = "_parent";
  46.     /**
  47.      * A constant indicating a document should be shown in the topmost frame.
  48.      * It is the second parameter for the method:
  49.      * java.applet.AppletContext.showDocument(URL, String).
  50.      * It is provided here for general use.
  51.      * @see java.applet.AppletContext#showDocument(java.net.URL, java.lang.String)
  52.      */
  53.      public static String frameTarget_top = "_top";
  54.     /**
  55.      * A constant indicating a document should be shown in a new unnamed
  56.      * top-level window.
  57.      * It is the second parameter for the method:
  58.      * java.applet.AppletContext.showDocument(URL, String).
  59.      * It is provided here for general use.
  60.      * @see java.applet.AppletContext#showDocument(java.net.URL, java.lang.String)
  61.      */
  62.      public static String frameTarget_blank = "_blank";
  63.  
  64.     /**
  65.      * Compares two objects passed in for equality.
  66.      * Handle null objects.
  67.      * @param objectA one of the objects to be compared
  68.      * @param objectB one of the objects to be compared
  69.      */
  70.     public static boolean objectsEqual(Object objectA,Object objectB)
  71.     {
  72.         if (objectA == null)
  73.             return (objectB == null);
  74.  
  75.         return objectA.equals(objectB);
  76.     }
  77.  
  78.     /**
  79.      * Checks to make sure the percent parameter is in range.
  80.      * @exception IllegalArgumentException
  81.      * if the specified percentage value is unacceptable
  82.      */
  83.     public static void checkValidPercent(double percent) throws IllegalArgumentException
  84.     {
  85.         if(percent > 1 || percent < 0){
  86.             Object[] args = { new Double(percent) };
  87.             throw new IllegalArgumentException(MessageFormat.format(errors.getString("InvalidPercent2"), args));
  88.         }
  89.     }
  90.  
  91.     /**
  92.      * Remove a character at the given index from the given string
  93.      * @param String string the string to remove a character from.
  94.      * @param int index the index of the character to remove.
  95.      * @return the string without the character at the given index.
  96.      * If the string is null or empty, null or empty will be returned.
  97.      * If the index is out of bounds, the orignial string is returned.
  98.      */
  99.     public static String removeCharAtIndex(String string, int index)
  100.     {
  101.         if(string == null || string == "")
  102.             return string;
  103.  
  104.         int length        = string.length();
  105.  
  106.         if(index > length || index < 0)
  107.             return string;
  108.  
  109.         String left    = index > 0 ? string.substring(0, index) : "";
  110.         String right    = index + 1 < length ? string.substring(index + 1) : "";
  111.  
  112.         return left + right;
  113.     }
  114.  
  115.     /**
  116.      * Error strings.
  117.      */
  118.     static protected ResourceBundle errors = ResourceBundle.getBundle("symantec.itools.resources.ErrorsBundle");
  119.  
  120. }
  121.